新聞中心
?GOFrame ORM? 組件支持?Union/UnionAll?操作,?Union/UnionAll?操作符用于連接兩個(gè)以上的SELECT語句的結(jié)果組合到一個(gè)結(jié)果集合中,關(guān)于?Union/UnionAll?組合查詢的相關(guān)介紹可以參考?MySQL?的官方文檔介紹 https://dev.mysql.com/doc/refman/8.0/en/union.html 。我們可以通過鏈?zhǔn)讲僮骰蛘叻椒ú僮鱽韺?shí)現(xiàn)?Union/UnionAll?操作。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、猇亭網(wǎng)絡(luò)推廣、微信小程序開發(fā)、猇亭網(wǎng)絡(luò)營銷、猇亭企業(yè)策劃、猇亭品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供猇亭建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
方法定義
// Union does "(SELECT xxx FROM xxx) UNION (SELECT xxx FROM xxx) ..." statement.
func (c *Core) Union(unions ...*Model) *Model
// UnionAll does "(SELECT xxx FROM xxx) UNION ALL (SELECT xxx FROM xxx) ..." statement.
func (c *Core) UnionAll(unions ...*Model) *ModelUnion
使用?Union?操作符,多個(gè)SELECT語句會(huì)刪除重復(fù)的數(shù)據(jù)。
// 獲取默認(rèn)配置的數(shù)據(jù)庫對象(配置名稱為"default")
db := g.DB()
db.Union(
db.Model("user").Where("id", 1),
db.Model("user").Where("id", 2),
db.Model("user").WhereIn("id", g.Slice{1, 2, 3}),
).OrderDesc("id").All()
// (SELECT * FROM `user` WHERE `id`=1)
// UNION
// (SELECT * FROM `user` WHERE `id`=2)
// UNION
// (SELECT * FROM `user` WHERE `id` IN (1,2,3)
// ORDER BY `id` DESC) ORDER BY `id` DESC 也可以通過?dao?鏈?zhǔn)讲僮鲗?shí)現(xiàn):
dao.User.Union(
dao.User.Where(dao.User.Columns.Id, 1),
dao.User.Where(dao.User.Columns.Id, 2),
dao.User.WhereIn(dao.User.Columns.Id, g.Slice{1, 2, 3}),
).OrderDesc(dao.User.Columns.Id).All()
// (SELECT * FROM `user` WHERE `id`=1)
// UNION
// (SELECT * FROM `user` WHERE `id`=2)
// UNION
// (SELECT * FROM `user` WHERE `id` IN (1,2,3)
// ORDER BY `id` DESC) ORDER BY `id` DESC UnionAll
使用?UnionAll?操作符,多個(gè)SELECT?語句不會(huì)刪除重復(fù)的數(shù)據(jù)。
db.UnionAll(
db.Model("user").Where("id", 1),
db.Model("user").Where("id", 2),
db.Model(table).WhereIn("id", g.Slice{1, 2, 3}),
).OrderDesc("id").All()
// (SELECT * FROM `user` WHERE `id`=1)
// UNION ALL
// (SELECT * FROM `user` WHERE `id`=2)
// UNION ALL
// (SELECT * FROM `user` WHERE `id` IN (1,2,3)
// ORDER BY `id` DESC) ORDER BY `id` DESC 也可以通過?dao?鏈?zhǔn)讲僮鲗?shí)現(xiàn):
dao.User.UnionAll(
dao.User.Where(dao.User.Columns.Id, 1),
dao.User.Where(dao.User.Columns.Id, 2),
dao.User.WhereIn(dao.User.Columns.Id, g.Slice{1, 2, 3}),
).OrderDesc(dao.User.Columns.Id).All()
// (SELECT * FROM `user` WHERE `id`=1)
// UNION ALL
// (SELECT * FROM `user` WHERE `id`=2)
// UNION ALL
// (SELECT * FROM `user` WHERE `id` IN (1,2,3)
// ORDER BY `id` DESC) ORDER BY `id` DESC 標(biāo)題名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame數(shù)據(jù)查詢-Union/UnionAll
文章URL:http://www.5511xx.com/article/djeisdo.html


咨詢
建站咨詢
