av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

mysql如何計算每項權重占比

瀏覽:96日期:2022-06-20 14:33:52

問題描述

有表及數據如下

select * from weight_test;+----+------+--------+| id | name | weight |+----+------+--------+| 1 | aaa | 10 || 2 | bbb | 20 || 3 | ccc | 30 || 4 | ddd | 40 |+----+------+--------+

想計算每項的權重占比

#嘗試一 失敗select weight, weight/sum(weight) from weight_test;ERROR 1140 (42000): In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column ’test.weight_test.weight’; this is incompatible with sql_mode=only_full_group_by#嘗試二 失敗select weight, weight/sum(weight) from weight_test group by weight;+--------+--------------------+| weight | weight/sum(weight) |+--------+--------------------+| 10 | 1.0000 || 20 | 1.0000 || 30 | 1.0000 || 40 | 1.0000 |+--------+--------------------+#嘗試三 成功select weight, weight/total from weight_test a, (select sum(weight) total from weight_test) b;+--------+--------------+| weight | weight/total |+--------+--------------+| 10 | 0.1000 || 20 | 0.2000 || 30 | 0.3000 || 40 | 0.4000 |+--------+--------------+

只有第三種這一種方式嗎?有沒更簡單的方式?

問題解答

回答1:

SELECT weight,weight/(select sum(weight) from weight_test) from weight_test;

回答2:

把my.ini中的sql_mode=only_full_group_by這個去掉再嘗試第一個吧

回答3:

set @sum = (select sum(weight) from weight_test);select @sum;+------+| @sum |+------+| 100 |+------+select weight, weight/@sum from weight_test;+--------+-------------+| weight | weight/@sum |+--------+-------------+| 10 | 0.1000 || 20 | 0.2000 || 30 | 0.3000 || 40 | 0.4000 |+--------+-------------+

相關文章:
主站蜘蛛池模板: 亚洲一区二区久久 | 久久久青草婷婷精品综合日韩 | 亚洲毛片 | 久久看精品 | 一区二区三区四区电影视频在线观看 | 天天爱天天操 | 亚洲欧美视频 | 久久精品免费 | 黄色激情毛片 | 超级乱淫av片免费播放 | 丁香婷婷综合激情五月色 | 国产一区二区三区免费视频 | av永久免费| www.色.com| 久久成人精品 | 久久99久久99精品免视看婷婷 | a级大片免费观看 | 99在线免费观看 | 美女天堂 | 亚洲国产自产 | 人人澡人人射 | www.干| 夜夜夜夜夜夜曰天天天 | 伊人久久精品一区二区三区 | 日本精品一区二区三区视频 | 国产www.| 97国产一区二区 | 国产精品一区二区不卡 | 亚洲国产精品suv | 精品久久久久久18免费网站 | 日韩高清一区 | 日韩成人一区二区 | 自拍偷拍亚洲视频 | 婷婷综合五月天 | 五月婷婷亚洲 | 欧美一区永久视频免费观看 | 九色 在线 | 国产精品免费大片 | 日韩成人免费视频 | 超碰欧美 | 国产精品视频网站 |