[過去ログ] MySQL 総合 Part26 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
606
(3): 2021/05/29(土)07:59 ID:??? AAS
https://i.imgur.com/LFBhs7W.png
このようなデータから火の攻撃UPが2つ以上ついてるデータを選ぶにはどうすればいいですか?
なるべく下記のような総当たり的な記述は避けたいです
(属性1="火" and 効果1="攻撃UP" and 属性2="火" and 効果2="攻撃UP") or ... or (属性3="火" and 効果3="攻撃UP" and 属性1="火" and 効果1="攻撃UP")
607: 2021/05/29(土)12:55 ID:??? AAS
>>606
MySQLには他のDBのようなpivot系の関数がないのでSQLだけでやるなら自分でpivot/unpivotをやるしかない
DB設計を考え直したほうがいいような

SELECT 番号, 属性, 効果, count(*) 件数
FROM (
SELECT 番号, 属性1 属性, 効果1 効果 from スキル効果
union all
SELECT 番号, 属性2 属性, 効果2 効果 from スキル効果
union all
SELECT 番号, 属性3 属性, 効果3 効果 from スキル効果
省4
609
(1): 2021/05/29(土)15:38 ID:??? AAS
>>606
正規化して、別のテーブルに分離する。
それから、SELECT COUNT() GROUP BYする。
611
(1): 2021/06/07(月)20:17 ID:??? AAS
>>606
もう見てないかな
CASE WHEN (属性1, 効果1) = (‘火’, ‘攻撃UP’) THEN 1 ELSE 0 END +
CASE WHEN (属性2, 効果2) = (‘火’, ‘攻撃UP’) THEN 1 ELSE 0 END +
CASE WHEN (属性3, 効果3) = (‘火’, ‘攻撃UP’) THEN 1 ELSE 0 END >= 2
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.312s*