久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Mysql無法選取非聚合列怎么辦

143次閱讀
沒有評論

共計(jì) 1517 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。

自動(dòng)寫代碼機(jī)器人,免費(fèi)開通

這篇文章主要為大家展示了“Mysql 無法選取非聚合列怎么辦”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Mysql 無法選取非聚合列怎么辦”這篇文章吧。

1. 前言

給文章頁面底部增加了兩個(gè)按鈕,可以直接跳轉(zhuǎn)到上一篇和下一篇。

如下圖所示:

Mysql 無法選取非聚合列怎么辦

實(shí)現(xiàn)這個(gè)功能的難點(diǎn)在于:數(shù)據(jù)庫怎么選取出一條記錄的前后兩條相鄰的記錄?

2. 數(shù)據(jù)庫設(shè)計(jì)

關(guān)于我文章數(shù)據(jù)庫的設(shè)計(jì)如下圖所示:

 Mysql 無法選取非聚合列怎么辦

可以看到,每條記錄的身份是索引 Id。因?yàn)橹坝泻芏辔恼掠涗洷粍h除了,所以,Id 并不是連續(xù)的。

如果當(dāng)前文章的索引值是 33,那么可以通過以下命令來得到前后相鄰的 2 篇文章:

select * from passage where id in
(select
when SIGN(id - 32 ) 0 THEN MIN(id)
when SIGN(id - 32 ) 0 THEN MAX(id)
from passage
where id != 34
GROUP BY SIGN(id- 32 )
ORDER BY SIGN(id- 32 )
ORDER BY id;

3. 無法選取聚合列

在執(zhí)行上面命令時(shí),Mysql 給了我個(gè): SELECT list is not in GROUP BY clause … 的報(bào)錯(cuò)。經(jīng)過 Google 得知,mysql 5.7 以上,默認(rèn)啟動(dòng)了 only_full_group_by,MySQL 就會(huì)拒絕選擇列表、條件或順序列表引用的查詢。

以下是原文:

Reject queries for which the select list, HAVING condition, or ORDER BY list refer to nonaggregated columns that are neither named in the GROUP BY clause nor are functionally dependent on (uniquely determined by) GROUP BY columns. As of MySQL 5.7.5, the default SQL mode includes ONLY_FULL_GROUP_BY. (Before 5.7.5, MySQL does not detect functional dependency and ONLY_FULL_GROUP_BY is not enabled by default. For a description of pre-5.7.5 behavior, see the MySQL 5.6 Reference Manual.)

所以,我們應(yīng)該設(shè)置 sql_mode 中不包含 only_full_group_by 選項(xiàng)。MySQL 5.7.5 后 only_full_group_by 成為 sql_mode 的默認(rèn)選項(xiàng)之一,這可能導(dǎo)致一些 sql 語句失效。

進(jìn)入 mysql 配置文件,在 [mysqld] 部分中添加以下配置,并且重啟 mysql 即可。

[mysqld]
# ... other config
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATEERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # delete  only_full_group_by 
# ... other config

運(yùn)行本文第二部分的 mysql 的命令,結(jié)果如下圖所示:

Mysql 無法選取非聚合列怎么辦

以上是“Mysql 無法選取非聚合列怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

向 AI 問一下細(xì)節(jié)

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-04發(fā)表,共計(jì)1517字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 云梦县| 孟村| 元朗区| 新建县| 积石山| 泰顺县| 嵊泗县| 逊克县| 新宾| 门源| 恩平市| 泸溪县| 惠州市| 进贤县| 彭水| 河池市| 邵武市| 隆德县| 鹤峰县| 扶余县| 建水县| 台前县| 八宿县| 绥滨县| 固原市| 青龙| 任丘市| 高要市| 百色市| 南投县| 灯塔市| 余江县| 新昌县| 莱州市| 唐河县| 繁峙县| 海安县| 嘉义市| 鄂州市| 高邑县| 上林县|