![](/img/trans.png)
[英]sql mysql query for fetching a defined numbers of rows randomly based on condition
[英]SQL query to update rows based on user defined condition
我有一個表和一個條件來匹配子字符串/兩列的整個值。
樣本表如下
表格1:
id id1 id2 id3 id4
18499 18499 8001480043398 datarow1a datarow1a
18497 18497 8000900121777 datarow1a datarow1a
18495 18495 8024180001901 datarow1b datarow1b
18493 18493 8001480070530 datarow1c something1c
18573 18573 8001480007703 datarow1b datarow1b
具有用戶條件的示例查詢:
select *
from table1
where id3 = id4.
結果:
id id1 id2 id3 id4
18499 18499 8001480043398 datarow1a datarow1a
18497 18497 8000900121777 datarow1a datarow1a
18495 18495 8024180001901 datarow1b datarow1b
18573 18573 8001480007703 datarow1b datarow1b
但是我想要根據用戶需求將id1
更新為最小或最大id。 因此,如果用戶選擇min,則第1行和第2行的id1應該如下所示
id id1 id2 id3 id4
18499 18497 8001480043398 datarow1a datarow1a
18497 18497 8000900121777 datarow1a datarow1a
對於第3行和第4行,應為
18493 18493 8001480070530 datarow1c datarow1c
18573 18493 8001480007703 datarow1b datarow1b
誰能分享我該如何處理?
PS:我不知道如何使用查詢,因此無法提供任何示例。 我使用的數據庫沒有完整的外部聯接(如果此信息有用)
對於Max:
UPDATE table_1
SET id1 = (SELECT Max(id1)
FROM table_1 t2
WHERE table_1.id3 = t2.id3)
WHERE id3 = id4
對於Min:
UPDATE table_1
SET id1 = (SELECT Min(id1)
FROM table_1 t2
WHERE table_1.id3 = t2.id3)
WHERE id3 = id4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.