如何创建查询以从多个列中获取 table
How to create a query to get table from multiple columns
我正在创建一个 table 所有用户,列出他们的用户名和未决问题以及分配的问题总数。
我有 2 table
第一个包含用户名、初始问题编号和最终问题编号列,第二个 table 包含时间戳用户名和提交的问题编号
第一个数据库 table
username
first que
last que
usera
101
200
userb
201
300
userc
301
400
第二个分贝table
username
submitted question number
timestamp
usera
103
13-06-2022
usera
102
11-06-2022
userb
201
12-06-2022
usera
101
09-06-2022
所以我想将其输出为用户名、分配的总问题、未决问题
我想要在网页上输出
username
total question allotted
pending question
usera
99
96
userb
99
98
usera
99
99
未决问题总数必须按以下公式计算(系列问题总数 - 提交问题总数)
您可以使用下一个查询完成此操作:
SELECT
first_table.username,
(last_que-first_que) total_questions_allotted,
(last_que-first_que-answers) pending_questions
FROM first_table
JOIN (
SELECT username, COUNT(*) answers FROM second_table GROUP BY username
) second_table_groupped USING(username);
或使用下一个 PHP 代码:
<?php
$query = 'SELECT
first_table.username,
(last_que-first_que) total_questions_allotted,
(last_que-first_que-answers) pending_questions
FROM first_table
JOIN (
SELECT username, COUNT(*) answers FROM second_table GROUP BY username
) second_table_groupped USING(username)';
$result = $mysqli->query($query);
$data = $result->fetch_all(MYSQLI_ASSOC);
print_r($data);
我正在创建一个 table 所有用户,列出他们的用户名和未决问题以及分配的问题总数。
我有 2 table 第一个包含用户名、初始问题编号和最终问题编号列,第二个 table 包含时间戳用户名和提交的问题编号
第一个数据库 table
username | first que | last que |
---|---|---|
usera | 101 | 200 |
userb | 201 | 300 |
userc | 301 | 400 |
第二个分贝table
username | submitted question number | timestamp |
---|---|---|
usera | 103 | 13-06-2022 |
usera | 102 | 11-06-2022 |
userb | 201 | 12-06-2022 |
usera | 101 | 09-06-2022 |
所以我想将其输出为用户名、分配的总问题、未决问题
我想要在网页上输出
username | total question allotted | pending question |
---|---|---|
usera | 99 | 96 |
userb | 99 | 98 |
usera | 99 | 99 |
未决问题总数必须按以下公式计算(系列问题总数 - 提交问题总数)
您可以使用下一个查询完成此操作:
SELECT
first_table.username,
(last_que-first_que) total_questions_allotted,
(last_que-first_que-answers) pending_questions
FROM first_table
JOIN (
SELECT username, COUNT(*) answers FROM second_table GROUP BY username
) second_table_groupped USING(username);
或使用下一个 PHP 代码:
<?php
$query = 'SELECT
first_table.username,
(last_que-first_que) total_questions_allotted,
(last_que-first_que-answers) pending_questions
FROM first_table
JOIN (
SELECT username, COUNT(*) answers FROM second_table GROUP BY username
) second_table_groupped USING(username)';
$result = $mysqli->query($query);
$data = $result->fetch_all(MYSQLI_ASSOC);
print_r($data);