X



MySQL SQL質問応答スレ [無断転載禁止]©2ch.net
0001NAME IS NULL
垢版 |
2016/11/10(木) 20:18:35.29ID:yXYwasBw
RDBMSごとにスレが分かれていないので答えようがない質問ばかりなので独立させました。


SQL質疑応答スレ 17問目 [無断転載禁止]©2ch.net

http://echo.2ch.net/test/read.cgi/db/1468157341/
0098NAME IS NULL
垢版 |
2022/09/26(月) 19:38:59.67ID:CFgRtkvv
やはり自作自演か
0099NAME IS NULL
垢版 |
2022/09/26(月) 22:34:58.61ID:???
>>97
SQLでというか>>95の選択肢はどれもストアドやUDF使えばDB側でできるよ
特にブルートフォースでやるならDB側でやったほうが性能的には断然いい
0100NAME IS NULL
垢版 |
2022/09/26(月) 22:48:14.01ID:???
設計の最初からやり直した方が速そう
0101NAME IS NULL
垢版 |
2022/09/27(火) 19:57:35.44ID:???
>>99
ストアドとかUDFとか知らなかった
教えてくれてありがとう
0102NAME IS NULL
垢版 |
2022/09/27(火) 21:49:35.32ID:qnEHOR6B
>>101
MySQLのストアドプロシージャは最悪の仕様だから覚悟しとけ!
0103NAME IS NULL
垢版 |
2022/09/29(木) 00:05:53.71ID:???
しらんけどこういう回答でどうなん?
0104NAME IS NULL
垢版 |
2022/09/29(木) 00:10:01.50ID:???
フライとかが登録されたTestというテーブル作っておいて

whereの中に "エビフライ" ライク コンキャット( パーセントフライパーセント)
みたいな値をかく。このエビフライっていうところが検索文字列ね
これでフライがとれるだろ?こういうことじゃないの?
0105NAME IS NULL
垢版 |
2022/09/29(木) 00:10:43.48ID:???
なおSQLで書こうとするとはじかれて書き込めなかった
わかりにくいがすまん
0106NAME IS NULL
垢版 |
2022/09/29(木) 00:11:50.93ID:???
考え方の質問なので、SQLで回答するのは難しい
0107NAME IS NULL
垢版 |
2022/09/29(木) 00:13:04.39ID:???
後半のパーセントで囲まれてるフライっていう文字列はテーブルのカラム名がそこにくる
0108NAME IS NULL
垢版 |
2022/09/29(木) 00:23:26.59ID:???
それに沿った書き方すれば、'エビフライ'という文字列が与えられていて
項目中に'エビフライ'の部分文字列にマッチするレコードを見つけるという問題
'エビフライ'のどこで区切るかは指定されていない
字句解析を行うか、ブルートフォースで行うか、だろうか
ストアドでやるとすれば、各レコードの項目文字列が'エビフライ'という文字列に
部分マッチングするか検査する感じかな
0109NAME IS NULL
垢版 |
2022/09/29(木) 00:57:46.88ID:???
104の方法がブルートフォースだよね
0110NAME IS NULL
垢版 |
2023/01/30(月) 21:25:17.60ID:OB/pjXRI
ソースレビューにてDISTINCTは性能劣化するのでGROUP BYに変更しろと言われましたがDISTINCTよりGROUP BYのほうが性能あがるんですか?初心者ですみません。
0111NAME IS NULL
垢版 |
2023/01/30(月) 22:21:44.20ID:???
>>110
DISTINCTのほうが速いこともあればGROUP BYのほうが速いこともある
状況によるので実際のデータとクエリで実行計画の差と所要時間を計測して
0112NAME IS NULL
垢版 |
2023/02/01(水) 00:16:49.59ID:p28Z13TI
existsのほうが性能が高い可能性ありますか?3パターンを実測し1番性能が良いのを採用します。
0113NAME IS NULL
垢版 |
2023/02/19(日) 12:11:43.60ID:???
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);
0114NAME IS NULL
垢版 |
2023/02/27(月) 10:28:52.54ID:X/A+oHTH
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 山田
みたいな感じの結果が帰ってきてしまう。。
なんでですかね 
0115NAME IS NULL
垢版 |
2023/02/27(月) 16:04:25.51ID:???
>>114
then ‘name’とかthen ‘id’としてるからだろ
0116NAME IS NULL
垢版 |
2023/03/05(日) 15:24:38.71ID:???
スクリプト書くのもめんどくさいから表計算ソフトでやってしまう。
0117NAME IS NULL
垢版 |
2023/03/20(月) 13:32:20.56ID:6b0WpT0J
【2月13日】 原発上空にUFO? 【震度6強】
://egg.5ch.net/test/read.cgi/atom/1615255108/l50
0118NAME IS NULL
垢版 |
2023/04/07(金) 07:38:50.85ID:???
調べてみますね・・
0119NAME IS NULL
垢版 |
2023/04/07(金) 13:35:22.77ID:???
case1とかじゃなくてもいいの?
0120NAME IS NULL
垢版 |
2023/06/13(火) 11:54:51.78ID:/UXsc9Sn
kuni toshi
--------
日本 東京
日本 大阪
米国 ロス
米国 シカゴ
中国 北京
中国 上海

 ↓

kuni toshi
--------
日本 東京、大阪
米国 ロス、シカゴ
中国 北京、上海

初心者質問、ごめんなさい。 上記のようにgroup化したいのですが

SELECT kuni,toshi FROM テーブル名 GROUP BY kuni

では上手いきませんでした、アドバイスをお願いできませんか?
0122NAME IS NULL
垢版 |
2023/06/13(火) 15:55:49.38ID:/UXsc9Sn
>>121

ありがとうございます!

いままで2回にわけてSQL文をつくって無理やりやっていましたが、スマートにできそうです!
0123ってことだよ
垢版 |
2023/07/25(火) 10:50:58.47ID:OsyChIkV
ってことだよってことだよってことだよ
0124NAME IS NULL
垢版 |
2023/08/25(金) 02:11:49.10ID:UQngHRKx
WHERE IN で入力した順番になりません

SELECT
id,name
FROM table
WHERE id IN (3,2,1)

を流すと
1,2,3に並び替えられてしまいます

入力順のままにする方法はありますでしょうか?
0125NAME IS NULL
垢版 |
2023/08/25(金) 02:14:36.46ID:???
3、2、1の順にしたい場合は、その順にソートするしかない
0126NAME IS NULL
垢版 |
2023/08/25(金) 02:19:36.31ID:UQngHRKx
すいません! order by でできるのでしょうか?
0127NAME IS NULL
垢版 |
2023/08/25(金) 02:36:15.05ID:???
入力した順番が判らないと、その通りにはならない
DBへの格納順は指定できない
3,2,1の順が単に大きい順ということなら、order by desc で良い
0128NAME IS NULL
垢版 |
2023/08/25(金) 02:48:26.28ID:???
入力順が、例えば2,1,3だったとしよう
その順に出力したいなら、
select * from table order by field (id , 2,1,3);

この場合も、入力順が 2,1,3 であると言う情報が必要
0129NAME IS NULL
垢版 |
2023/08/26(土) 13:57:16.28ID:???
ORDER BY無しでINSERTされた順に出力される保証なんて無いのでは
0130NAME IS NULL
垢版 |
2023/08/26(土) 17:16:58.12ID:???
INSERTされた順の話なんて誰もしてないやろ
0131NAME IS NULL
垢版 |
2023/08/26(土) 18:01:41.22ID:???
>入力順のままにする方法はありますでしょうか?

これをどううけとるか、だな
0132NAME IS NULL
垢版 |
2023/08/26(土) 20:22:26.02ID:ihJR3/H9
ネタに反応すんな!
0133NAME IS NULL
垢版 |
2023/09/28(木) 04:10:26.34ID:???
ホントに、そんな風になるんやなぁ
0134NAME IS NULL
垢版 |
2023/09/28(木) 12:32:59.92ID:???
あかん、道が混んでてまったく進まん
0135NAME IS NULL
垢版 |
2023/10/24(火) 13:07:36.35ID:HJ1D8OfA
SELECT * FROM users;で特定のカラムだけ抽出したくないとかできませんかね?

created_atだけ抽出したくないとか
0136NAME IS NULL
垢版 |
2023/10/24(火) 18:45:14.56ID:???
MySQLにそういう機能はないので無理
0137NAME IS NULL
垢版 |
2023/10/24(火) 20:15:46.42ID:???
*で無く、必要なカラムを指定すれば良いだろう
0138NAME IS NULL
垢版 |
2023/11/16(木) 16:41:27.46ID:q/IEcbuv
> 彼らはよく、社会に貢献したいと口にする。
> なんでも社会悪のネトウヨを自殺に追い込むことが、社会に貢献することなんだそうで。
> イジメや嫌がらせで社会に貢献できる教師や警官になるために、あえて帰化したんであって、祖国同胞を裏切ったわけではなく、心は●●人なんだそうだ。
> 
> 昔は帰化すると裏切り者と呼ばれたりしたが、祖国に国籍を残したまま帰化する方法が確立された現在では、社会に貢献するためにむしろ帰化することが推奨されている。
> 拳銃所持で前科のある生粋の反日家ですら、今では普通に帰化している。
> 
> ●●学会などはネトウヨ認定した日本人を盗撮して、痴漢の写真だと言ってばらまいている。
> それらの写真は、集団ストーカーに使用される。
> 彼らは集団ストーカーを、[地域で子供を守る安心安全パトロール]と称している。
0139NAME IS NULL
垢版 |
2023/11/16(木) 16:56:27.18ID:???
なんの脈絡もなく突然こういうこと言い出す人いたら怖い
0140NAME IS NULL
垢版 |
2023/11/16(木) 21:14:56.17ID:Hd0dmE6L
>>139
昔の2ちゃんねるのデマだよ

こういう事実と異なる話で、創価学会員が全員、在日コリアンとかありえない話を信じ込む人間が一定数いる。
0145NAME IS NULL
垢版 |
2024/02/19(月) 17:24:45.85ID:mGghvuzC
SELECT文の作成に困っています

下記のような2つのカラムを同一のものとして集計するヒントを頂けないしょうか?


【アンケートテーブル】
氏名 希望A 希望B
----------------------
Aさん 札幌 仙台
Bさん 大阪 福岡
Cさん 札幌 大阪
Dさん 福岡 札幌

 ↓

【旅行人気ランキング】
---------------------
札幌(3)
仙台(1)
大阪(2)
福岡(2)
0147145
垢版 |
2024/02/19(月) 18:52:39.03ID:???
>>146

ありがとうございます

UNION で検索したら参考になりそうなサイトが沢山ヒットしました
0148NAME IS NULL
垢版 |
2024/02/20(火) 16:16:49.92ID:Wd+q7mRj
UNION ALLだぞ
レスを投稿する


ニューススポーツなんでも実況