【发布时间】:2011-02-24 23:30:52
【问题描述】:
假设我有一个包含以下字段的 GAME 表
match_id、user_id、结果
结果总是以相同的 match_id 成对出现。比如
1837, 4, Win
1837, 29, Forfeit
我想分成两组,一组有结果,另一组没有结果。使用WHERE result <> '' 很容易做到这一点
但是我注意到一些奇怪的记录,如下所示
1839, 5, Win
1839, 40,
第二条记录没有针对它记录的结果。因此,使用result <> '' 将匹配 1839 的拆分分成两个单独的组,而我希望它们保持在一起。我可以在 SQL 中实现这一点吗?
所以基本上我的伪代码是:
如果两者都有结果 第一组
如果有任何一个结果 第一组
如果没有结果 第二组
使用 MySQL 的完整代码
SQL1: SELECT * from GAME where result <> ''
给
1837, 4, Win
1837, 29, Forfeit
1839, 5, Win
SQL2: SELECT * from GAME where result = ''
1839, 40,
1850, 30,
1850, 5,
我在找
SQL1: ??
1837, 4, Win
1837, 29, Forfeit
1839, 5, Win
1839, 40,
SQL2: ??
1850, 30,
1850, 5,
【问题讨论】:
-
我已经修改了完整的代码
标签: sql