Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have a table as follows:
name week effort
quentin 1 1
quentin 1 2
quentin 2 1
tracy 1 1
joe 2 2
There will only be a handful of unique names so it doesn't need to be dynamic
And I would like to query it to return something like
week QuentinEffortSum TracyEffortSum JoeEffortSum
1 3 1 0
2 1 0 2
I have tried something along the lines of
SELECT SUM(Effort) AS JoeEffort, Min (Week) AS week FROM [Group$]
WHERE name = "Joe"
GROUP BY week
ORDER By week
which returned:
week JoeEffort
1 3
2 1
and now I need the other columns and imagine in involves joins but am not sure how to complete the task
Please help
Thanks
I think a PIVOT table would work, like so:
SELECT *
FROM (
SELECT
week,name,effort
FROM [Group$]
) as s
PIVOT
(
SUM(effort)
FOR [name] IN ('quentin','joe','tracy')
)AS pvt
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
id. goods qty
1 ABC susu ds 1
2 ABC susu gt 1
3 Kapal api moca 1
4 kapal api mix 1
how to display with sql syntax be ..
id goods qty
1 ABC susu 2
2 Kapal api 2
because there is a duplicate of ABC susu and kapal api then the amount is added.
Help me please,
I created a new id base on the grouping (#id) then I get substring of goods without the last word. I also used uppercase because I notice that the first letter of 3rd row is not the same with last row. Then did a sum of the qty.
select #id:=#id+1 as id,
substr(goods,1,length(goods)-locate(' ', reverse(goods))) as goods,
sum(qty) as qty
from yourTable
inner join (select #id:=0) s
group by ucase(substr(goods,1,length(goods)-locate(' ', reverse(goods))))
See demo here: http://sqlfiddle.com/#!9/f70b381/17
Result:
id goods qty
1 ABC susu 2
2 Kapal api 2
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
Let's say i have a table Task_status like below:
id TaskId SubTaskId status
1 1 1 Complete
2 1 2 Complete
3 1 3 Complete
4 2 4 InProgress
5 2 5 Complete
I want to find all the taskId whose all child tasks are Complete. How can I write that query?
Use group by and having to check if the number of rows per task equal the number of rows with Complete status.
select taskId
from tbl
group by taskId
having count(*) = sum(status='Complete')
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
Unfortunately My tables will be poor and I have no idea how to fix that. Essentially I have this table and I want to sum all the values on the right based on one value on the left. This is sample data but it will be 400+ records in the database. So if the numbers on the left are IDs for customers, and the numbers on the right are products purchased, how do I get a summary of products purchased per customer?
1 4
1 2
2 3
3 2
2 4
1 1
3 2
1 3
The final result would need to look like this:
1 10
2 7
3 4
SELECT
user_table.userID,
SUM(user_table.prodcut_purchase)
FROM
user_table
GROUP BY
user_table.userID
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I'm trying to get my code to output in the following format:
2015-05-24 19:00 | 1
2015-04-24 19:30 | 3
2015-04-24 10:39 | 51
My table
rm_id | date
1 | 1298027046
2 | 1298027100
What should I do a SQL query?
Divide the timestamps by 1800 (30 minutes * 60 seconds/minute) to get the grouping.
SELECT FROM_UNIXTIME(1800 * FLOOR(date/1800)) AS period_start, COUNT(*) AS count
FROM YourTable
GROUP BY period_start
Ok thanks. It's great. still I need to add the condition of two dates. The first parameter will be administered and the second is the first + 7 days
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 8 years ago.
Improve this question
My mySQL look like this
id visits
3 0
3 0
3 1
4 1
4 1
4 0
2 1
How can I have something more like group for all my entries id :
id visits
3 1
4 2
2 1
Use this query:
SELECT ID, SUM(visits) as visit FROM YOURTABLE GROUP BY ID;
SQLFIDDEL is here.
Use Group By Clause
SELECT ID, SUM(Visits) FROM YOURTABLE GROUP BY ID;