这两种写法有什么不同吗?书上答案推荐第二种

xlyswan 2018-03-14 01:25:11
1.
SELECT
COUNT(CASE WHEN hanbai_tanka <= 1000 THEN hanbai_tanka ELSE NULL END) AS low_price,
COUNT(CASE WHEN hanbai_tanka BETWEEN 1001 AND 3000 THEN hanbai_tanka ELSE NULL END) AS mid_price,
COUNT(CASE WHEN hanbai_tanka >= 3001 THEN hanbai_tanka ELSE NULL END) AS high_price
FROM Shohin;
2.
SELECT
SUM(CASE WHEN hanbai_tanka <= 1000 THEN 1 ELSE 0 END) AS low_price,
SUM(CASE WHEN hanbai_tanka BETWEEN 1001 AND 3000 THEN 1 ELSE 0 END) AS mid_price,
SUM(CASE WHEN hanbai_tanka >= 3001 THEN 1 ELSE 0 END) AS high_price
FROM Shohin;
结果都是正确的
...全文
1065 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼上说的对。。
siwluxuefeng 2018-11-30
  • 打赏
  • 举报
回复
1=1当然正确了,不是推荐用哪个,而是应该用哪个
wxf54318 2018-03-28
  • 打赏
  • 举报
回复
感觉没啥太大区别啊,你可以比较下两种方法的执行效率

954

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧