我正在努力处理我的MySQL声明而且我没有得到任何进一步的原因我需要一些备份,我希望你会花时间检查我的问题
这张照片展示了我想要实现的目标。
expected results, screenshot from another site 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
答案 0 :(得分:0)
这将解决问题
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
redskabs_navn
表redskaber
添加UNIQUE约束