[英]MySQL joins between two tables and calculate 3 numbers in percent
我正在努力處理我的MySQL語句,而且我沒有得到任何進一步的幫助,因為我需要一些備份,希望您能花點時間來檢查我的問題。
這張照片顯示了我想達到的目標。
預期結果,另一個網站 cc的屏幕截圖
global $wpdb;
$table_registreringer = $wpdb->prefix . 'registreringer';
$table_redskaber = $wpdb->prefix . 'redskaber';
CREATE TABLE $table_registreringer
(
reg_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
reg_redskabs_id INT UNSIGNED NOT NULL,
PRIMARY KEY (reg_id),
FOREIGN KEY (reg_redskabs_id) REFERENCES $table_redskaber(redskabs_id)
)
CREATE TABLE $table_redskaber
(
redskabs_id INT UNSIGNED AUTO_INCREMENT NOT NULL,
redskabs_navn CHAR (20),
PRIMARY KEY (redskabs_id)
)
<p> wp_registreringer Table dummy </p> <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%"> <tr align="left" valign="top"> <td><strong>reg_id</strong></td> <td><strong>redskabs_id</strong></td> </tr> <tr> <td>1</td> <td>2</td> </tr> <tr> <td>2</td> <td> 3</td> </tr> <tr> <td>3</td> <td>3</td> </tr> <tr> <td>4</td> <td>1</td> </tr> </table> <p>wp_redskaber Table dummy</p> <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%"> <tr align="left" valign="top"> <td><strong>redskabs_id</strong></td> <td><strong>redskabs_navn</strong></td> </tr> <tr> <td>1</td> <td>Flue</td> </tr> <tr> <td>2</td> <td>Orm</td> </tr> <tr> <td>3</td> <td>Spin</td> </tr> </table>
這給我的答案不正確。 但是我希望它可以計算“ redskabs_navn”被選擇了多少次的總和。 並在每次注冊時將其指定。
SELECT COUNT(*) AS redskaber, COUNT(*) / T.total * 100 AS percent
FROM wp_redskaber as r,
(SELECT COUNT(*) AS total FROM wp_redskaber JOIN wp_registreringer ON
reg_redskabs_id=redskabs_id) AS T
這將達到目的
SELECT redskabs_navn ,
((COUNT(table_registreringer.reg_id)/ (SELECT COUNT(*) FROM table_registreringer))*100 ) AS percent
FROM redskaber
LEFT JOIN table_registreringer
ON redskaber.redskabs_id = table_registreringer.reg_redskabs_id
GROUP BY redskaber.redskabs_id
redskaber
表中向redskabs_navn
添加UNIQUE約束
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.