![](/img/trans.png)
[英]How to copy values from one row to another in the same table in PHPMyAdmin MySQL
[英]How can I subtract the values in one row from the values in another row in the same mysql table
我在php文件中有以下查詢:
$query = "SELECT
a.aurl as al,
(a.lttotals
-
( SELECT b.lttotals
FROM stats b
WHERE ltdate='$newdate'
AND b.aurl=a.aurl
)
) as tt,
lttotals
FROM stats a
WHERE ltdate='$date'
ORDER BY lttotals DESC
LIMIT 20";
這非常慢,如果我將限制更改為超過20,則mysql消失。 ;)
基本上,我需要做的是從某一行中的某些列中獲取值,然后從另一行中減去它們。
是否有更好的方法可以利用現有資源來執行我想做的事情,還是應該重組存儲數據的方式?
SELECT a.aurl AS a1,
a.lttotals
a.lttotals - b.lttotals
FROM stats a
JOIN stats b
ON b.aurl = a.aurl
AND b.ltdate = '$newdate'
WHERE a.ltdate = '$date'
ORDER BY
a.lttotals DESC
LIMIT 20
創建以下索引:
stats (ltdate, lttotals)
stats (ltdate, aurl)
以便快速運行。
SELECT a.url AS al,
(a.lttotals - b.lttotals) AS tt,
a.lttotals
FROM stats a, stats b
WHERE a.ltdate='$date' AND b.ltdate='$newdate' AND a.url = b.url
ORDER BY a.lttotals DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.