MySQL SQL質問応答スレ [無断転載禁止]©2ch.net
>>99
ストアドとかUDFとか知らなかった
教えてくれてありがとう >>101
MySQLのストアドプロシージャは最悪の仕様だから覚悟しとけ! フライとかが登録されたTestというテーブル作っておいて
whereの中に "エビフライ" ライク コンキャット( パーセントフライパーセント)
みたいな値をかく。このエビフライっていうところが検索文字列ね
これでフライがとれるだろ?こういうことじゃないの? なおSQLで書こうとするとはじかれて書き込めなかった
わかりにくいがすまん 後半のパーセントで囲まれてるフライっていう文字列はテーブルのカラム名がそこにくる それに沿った書き方すれば、'エビフライ'という文字列が与えられていて
項目中に'エビフライ'の部分文字列にマッチするレコードを見つけるという問題
'エビフライ'のどこで区切るかは指定されていない
字句解析を行うか、ブルートフォースで行うか、だろうか
ストアドでやるとすれば、各レコードの項目文字列が'エビフライ'という文字列に
部分マッチングするか検査する感じかな ソースレビューにてDISTINCTは性能劣化するのでGROUP BYに変更しろと言われましたがDISTINCTよりGROUP BYのほうが性能あがるんですか?初心者ですみません。 >>110
DISTINCTのほうが速いこともあればGROUP BYのほうが速いこともある
状況によるので実際のデータとクエリで実行計画の差と所要時間を計測して existsのほうが性能が高い可能性ありますか?3パターンを実測し1番性能が良いのを採用します。 mysqldumpでエクスポートしたらインサート文のテーブル名がすべて空なんだけど原因わかる方教えてください。
mysqlのバージョン
Ver 8.0.32 for Linux on x86_64
コマンド
mysqldump -u {user} -p -h {host} --no-create-info --skip-extended-insert {dbname} {tablename} > export.sql
エクスポート結果
insert into `` (aaa ,bbb, ccc);
insert into `` (aaa ,bbb, ccc);
insert into `` (aaa ,bbb, ccc); https://qiita.com/masayoshi0327/items/19938d1a40023a5ba159
上の真似して
select
case
when name is null or name = '' then 'name'
else name
end as name
case
when idis null or id= '' then 'id'
else id
end as id
from users;
こんな感じでセレクトしてるんだけど、なぜかカラム名まで取れて
1行目
id name
22 山田
みたいな感じの結果が帰ってきてしまう。。
なんでですかね >>114
then ‘name’とかthen ‘id’としてるからだろ スクリプト書くのもめんどくさいから表計算ソフトでやってしまう。 【2月13日】 原発上空にUFO? 【震度6強】
://egg.5ch.net/test/read.cgi/atom/1615255108/l50
kuni toshi
--------
日本 東京
日本 大阪
米国 ロス
米国 シカゴ
中国 北京
中国 上海
↓
kuni toshi
--------
日本 東京、大阪
米国 ロス、シカゴ
中国 北京、上海
初心者質問、ごめんなさい。 上記のようにgroup化したいのですが
SELECT kuni,toshi FROM テーブル名 GROUP BY kuni
では上手いきませんでした、アドバイスをお願いできませんか? >>121
ありがとうございます!
いままで2回にわけてSQL文をつくって無理やりやっていましたが、スマートにできそうです! WHERE IN で入力した順番になりません
SELECT
id,name
FROM table
WHERE id IN (3,2,1)
を流すと
1,2,3に並び替えられてしまいます
入力順のままにする方法はありますでしょうか? 3、2、1の順にしたい場合は、その順にソートするしかない すいません! order by でできるのでしょうか? 入力した順番が判らないと、その通りにはならない
DBへの格納順は指定できない
3,2,1の順が単に大きい順ということなら、order by desc で良い 入力順が、例えば2,1,3だったとしよう
その順に出力したいなら、
select * from table order by field (id , 2,1,3);
この場合も、入力順が 2,1,3 であると言う情報が必要 ORDER BY無しでINSERTされた順に出力される保証なんて無いのでは >入力順のままにする方法はありますでしょうか?
これをどううけとるか、だな SELECT * FROM users;で特定のカラムだけ抽出したくないとかできませんかね?
created_atだけ抽出したくないとか > 彼らはよく、社会に貢献したいと口にする。
> なんでも社会悪のネトウヨを自殺に追い込むことが、社会に貢献することなんだそうで。
> イジメや嫌がらせで社会に貢献できる教師や警官になるために、あえて帰化したんであって、祖国同胞を裏切ったわけではなく、心は●●人なんだそうだ。
>
> 昔は帰化すると裏切り者と呼ばれたりしたが、祖国に国籍を残したまま帰化する方法が確立された現在では、社会に貢献するためにむしろ帰化することが推奨されている。
> 拳銃所持で前科のある生粋の反日家ですら、今では普通に帰化している。
>
> ●●学会などはネトウヨ認定した日本人を盗撮して、痴漢の写真だと言ってばらまいている。
> それらの写真は、集団ストーカーに使用される。
> 彼らは集団ストーカーを、[地域で子供を守る安心安全パトロール]と称している。 なんの脈絡もなく突然こういうこと言い出す人いたら怖い >>139
昔の2ちゃんねるのデマだよ
こういう事実と異なる話で、創価学会員が全員、在日コリアンとかありえない話を信じ込む人間が一定数いる。 SELECT文の作成に困っています
下記のような2つのカラムを同一のものとして集計するヒントを頂けないしょうか?
【アンケートテーブル】
氏名 希望A 希望B
----------------------
Aさん 札幌 仙台
Bさん 大阪 福岡
Cさん 札幌 大阪
Dさん 福岡 札幌
↓
【旅行人気ランキング】
---------------------
札幌(3)
仙台(1)
大阪(2)
福岡(2) >>146
ありがとうございます
UNION で検索したら参考になりそうなサイトが沢山ヒットしました