Computer Webmaster Gaming Console Graphics Forum

Welcome to the Computer Webmaster Gaming Console Graphics Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

MK PitStop Main Earn $25 Earn Money Posting Extras Members Blogs Image Hosting User Pages
Go Back   Computer Webmaster Gaming Console Graphics Forum > Webmaster Forum > Website Coding > Database
Register FAQ/Rules Become A V.I.P. Member Search Today's Posts Mark Forums Read

Database Database problems or need to ask a question? maybe something to do with sql injections or a database software question. Database topics cover MySQL, PostgreSQL, Oracle, SQL Server or anything else related to databases.

Google
Closed Thread
 
LinkBack Thread Tools Display Modes
Old 07-01-2007, 9:33 PM   #1
Dim
 
Dim's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Group By problem

Hello,

I have a problem of grouping data in a table



Here's my table

mysql> select * from url_histo;
+----+---------------------+------------+--------+
| id | timestamp | retourhttp | id_url |
+----+---------------------+------------+--------+
| 7 | 2006-05-04 12:37:48 | 200 | 1 |
| 8 | 2006-05-04 12:37:50 | 200 | 1 |
| 9 | 2006-05-04 14:47:47 | 200 | 2 |
| 10 | 2006-05-04 14:47:56 | 201 | 2 |
| 11 | 2006-05-04 14:48:01 | 201 | 1 |
+----+---------------------+------------+--------+

I want to have a query that return

| 10 | 2006-05-04 14:47:56 | 201 | 2 |
| 11 | 2006-05-04 14:48:01 | 201 | 1 |


This query should return the last (temporarly speaking) data of each
id_url. There is a field timestamp, it should be easy but I am
completely lost with "Group by"

mysql> select id,id_url,retourhttp,max(timestamp) from url_histo group
by id_url;

+----+--------+------------+---------------------+
| id | id_url | retourhttp | max(timestamp) |
+----+--------+------------+---------------------+
| 7 | 1 | 200 | 2006-05-04 14:48:01 |
| 9 | 2 | 200 | 2006-05-04 14:47:56 |
+----+--------+------------+---------------------+


The result is a mix of lines... I do not understand the way to do it



If anyone has a clue... thanks in advance

 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Advertisements
Old 07-01-2007, 9:33 PM   #2
Kai Ruhnau
 
Kai Ruhnau's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Group By problem

Dim wrote:
> Here's my table
>
> mysql> select * from url_histo;
> +----+---------------------+------------+--------+
> | id | timestamp | retourhttp | id_url |
> +----+---------------------+------------+--------+
> | 7 | 2006-05-04 12:37:48 | 200 | 1 |
> | 8 | 2006-05-04 12:37:50 | 200 | 1 |
> | 9 | 2006-05-04 14:47:47 | 200 | 2 |
> | 10 | 2006-05-04 14:47:56 | 201 | 2 |
> | 11 | 2006-05-04 14:48:01 | 201 | 1 |
> +----+---------------------+------------+--------+
>
> I want to have a query that return
>
> | 10 | 2006-05-04 14:47:56 | 201 | 2 |
> | 11 | 2006-05-04 14:48:01 | 201 | 1 |
>
>
> This query should return the last (temporarly speaking) data of each
> id_url. There is a field timestamp, it should be easy but I am
> completely lost with "Group by"
>
> mysql> select id,id_url,retourhttp,max(timestamp) from url_histo group
> by id_url;
>
> +----+--------+------------+---------------------+
> | id | id_url | retourhttp | max(timestamp) |
> +----+--------+------------+---------------------+
> | 7 | 1 | 200 | 2006-05-04 14:48:01 |
> | 9 | 2 | 200 | 2006-05-04 14:47:56 |
> +----+--------+------------+---------------------+


This gives you the maximal timestamp for each id_url. All other fields
(those you do not mention in the GROUP BY) give you an arbitrary result.

> The result is a mix of lines... I do not understand the way to do it


You are looking for the rows holding the group-wise maximum, which is a
separate Chapter in the fine manual:

http://dev.mysql.com/doc/refman/5.0/...group-row.html

Greetings
Kai

--
This signature is left as an exercise for the reader.
 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Old 07-01-2007, 9:33 PM   #3
strawberry
 
strawberry's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Group By problem

So...

SELECT *
FROM url_histo u1
WHERE timestamp = (
SELECT MAX( timestamp )
FROM url_histo
WHERE u1.id_url = id_url )

 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Featured Websites
Free Space
Free Space
Free Space Free Space
Closed Thread
Tags: ,




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
In Design group? Ric Seyler Graphics in general 3 06-11-2007 7:17 PM
WHERE an GROUP BY - why is it not working together? Patrol Database 2 05-31-2007 8:37 PM
Games for the PS3/this group Space Wombat #3 Computer Consoles 4 05-30-2007 6:16 PM
Is there an Adwords group? RobbieB Google questions 0 05-28-2007 1:46 AM
Right group? Rolf Barbakken MSN questions 0 05-28-2007 1:18 AM


Featured Websites




All times are GMT +1. The time now is 12:07 AM.


Powered by: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.0.0
Cheap Computers
MK PitStop Copyright 2005 - 2008

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98