第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQL語句大神請進。為什么只得到了一條數(shù)據(jù)?加個group by 才得到多條數(shù)據(jù)?

SQL語句大神請進。為什么只得到了一條數(shù)據(jù)?加個group by 才得到多條數(shù)據(jù)?

縹緲止盈 2019-03-29 22:11:19
SELECTt.*,count(tbl_myr_share_comment.shareId)ascountFROM`tbl_myr_share``t`LEFTJOINtbl_myr_share_commentONtbl_myr_share_comment.shareId=t.shareIdWHEREt.userId=1ORDERBYt.shareIdDESCLIMIT10;明明數(shù)據(jù)庫有4條數(shù)據(jù),但是查詢的結(jié)果出來是一條數(shù)據(jù)。SELECTt.*,count(tbl_myr_share_comment.shareId)ascountFROM`tbl_myr_share``t`LEFTJOINtbl_myr_share_commentONtbl_myr_share_comment.shareId=t.shareIdWHEREt.userId=1GROUPBYt.shareIdORDERBYt.shareIdDESCLIMIT10但是我后面加一個groupby則得到了正確的數(shù)據(jù)。請問為什么有count的情況下加group才能得到正確的數(shù)據(jù)呢?
查看完整描述

2 回答

?
炎炎設(shè)計

TA貢獻1808條經(jīng)驗 獲得超4個贊

這要針對數(shù)據(jù)表的具體情況進行分析,給你一些GroupBy的資料,其實思想很簡單,自己好好琢磨一下,一定能思明白的!
GROUPBY語句
GROUPBY語句用于結(jié)合合計函數(shù),根據(jù)一個或多個列對結(jié)果集進行分組。
SQLGROUPBY語法
SELECTcolumn_name,aggregate_function(column_name)
FROMtable_name
WHEREcolumn_nameoperatorvalue
GROUPBYcolumn_name
SQLGROUPBY實例
我們擁有下面這個"Orders"表:
O_IdOrderDateOrderPriceCustomer
12008/12/291000Bush
22008/11/231600Carter
32008/10/05700Bush
42008/09/28300Bush
52008/08/062000Adams
62008/07/21100Carter
現(xiàn)在,我們希望查找每個客戶的總金額(總訂單)。
我們想要使用GROUPBY語句對客戶進行組合。
我們使用下列SQL語句:
SELECTCustomer,SUM(OrderPrice)FROMOrders
GROUPBYCustomer
結(jié)果集類似這樣:
CustomerSUM(OrderPrice)
Bush2000
Carter1700
Adams2000
很棒吧,對不對?
讓我們看一下如果省略GROUPBY會出現(xiàn)什么情況:
SELECTCustomer,SUM(OrderPrice)FROMOrders
結(jié)果集類似這樣:
CustomerSUM(OrderPrice)
Bush5700
Carter5700
Bush5700
Bush5700
Adams5700
Carter5700
上面的結(jié)果集不是我們需要的。
那么為什么不能使用上面這條SELECT語句呢?解釋如下:上面的SELECT語句指定了兩列(Customer和SUM(OrderPrice))。SUM(OrderPrice)返回一個單獨的值(OrderPrice列的總計),而Customer返回6個值(每個值對應(yīng)Orders表中的每一行)。因此,我們得不到正確的結(jié)果。不過,您已經(jīng)看到了,GROUPBY語句解決了這個問題。
                            
查看完整回答
反對 回復(fù) 2019-03-29
?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

大概掃了一眼,應(yīng)該是犯了一個基本的錯誤:
sql在做分組計算的時候,select,having,orderby里的列一般來說,必須是"groupby分組的列",或者是"聚集函數(shù)(別的列)"這種形式.
具體說,selectsum(a),bfromtablegroupbyb;是對的;
select*fromtablegroupbyb這種一般是錯的(標準sql會報錯,mysql不會,但不代表就是對的)
你的第一個sql,既然用到了count(),那么就是把整張表作為一個分組來處理了.
                            
查看完整回答
反對 回復(fù) 2019-03-29
  • 2 回答
  • 0 關(guān)注
  • 388 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號