亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 求教 : 關于下面的 SQL 語句應該怎么寫的? [打印本頁]

作者: jiangling_0103    時間: 2016-06-15 11:55
標題: 求教 : 關于下面的 SQL 語句應該怎么寫的?
本帖最后由 jiangling_0103 于 2016-06-15 12:02 編輯

我使用下面的語句可以查詢出某個項目中Bug 對應的狀態(tài)的數(shù)量,

select bug_status Name , COUNT(*) Count from bugs INNER JOIN products p ON bugs.product_id=p.id WHERE p.name = 'SC7702' GROUP BY bug_status WITH ROLLUP;




如果我想再加一列 Percentage 對應各個狀態(tài)的Bug占總數(shù)的百分比的,如下圖的,SQL語句應該怎么寫合適的?求教啊~


作者: seesea2517    時間: 2016-06-17 13:27
回復 1# jiangling_0103


    這個情況我是先算一個所有的 COUNT(*) 賦值給臨時變量,然后再計算。分兩條 select 操作。
作者: action08    時間: 2016-06-18 00:54
存儲過程可以的
作者: 老馬先生    時間: 2016-06-29 14:20
select bug_status Name , COUNT(*) Count,Count(*)/(select count(*) from bugs INNER JOIN products p ON bugs.product_id=p.id WHERE p.name = 'SC7702' GROUP BY bug_status WITH ROLLUP) as per from bugs INNER JOIN products p ON bugs.product_id=p.id WHERE p.name = 'SC7702' GROUP BY bug_status WITH ROLLUP;

大概可以這樣,效率可能低點,具體debug一下
作者: seesea2517    時間: 2016-06-30 13:24
  1. mysql> select * from tb1;
  2. +----+-------+
  3. | id | name  |
  4. +----+-------+
  5. |  1 | aaaaa |
  6. |  2 | aaabb |
  7. |  3 | aabbc |
  8. |  4 | bbbbb |
  9. |  5 | ddddd |
  10. +----+-------+
  11. 5 rows in set

  12. mysql> select name, count(id), count(id) / (select count(*) as total from tb1) from tb1 as t group by name;
  13. +-------+-----------+-------------------------------------------------+
  14. | name  | count(id) | count(id) / (select count(*) as total from tb1) |
  15. +-------+-----------+-------------------------------------------------+
  16. | aaaaa |         1 | 0.2000                                          |
  17. | aaabb |         1 | 0.2000                                          |
  18. | aabbc |         1 | 0.2000                                          |
  19. | bbbbb |         1 | 0.2000                                          |
  20. | ddddd |         1 | 0.2000                                          |
  21. +-------+-----------+-------------------------------------------------+
  22. 5 rows in set

  23. mysql> select name, count(id), count(id) / total from tb1, (select count(*) as total from tb1) as t group by name;
  24. +-------+-----------+-------------------+
  25. | name  | count(id) | count(id) / total |
  26. +-------+-----------+-------------------+
  27. | aaaaa |         1 | 0.2000            |
  28. | aaabb |         1 | 0.2000            |
  29. | aabbc |         1 | 0.2000            |
  30. | bbbbb |         1 | 0.2000            |
  31. | ddddd |         1 | 0.2000            |
  32. +-------+-----------+-------------------+
  33. 5 rows in set
復制代碼





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2