Sponsored Content
Full Discussion: Complex MySQL Query(s)
Top Forums Web Development Complex MySQL Query(s) Post 302453604 by STOIE on Thursday 16th of September 2010 12:37:11 AM
Old 09-16-2010
Complex MySQL Query(s)

Hi all,

I have a bit of an issue, I am working on a bit of a CMDB for a friend, it's to do with real estate.

Anyway, this is my situation.

I have a table which contains all the properties (forsale, sold, etc) in the DB named "property".

Now, this is what I want to achieve, I wish to create a output table ordered by the age of the property in our database. Each row has these important fields "id" (INT auto row id) "pid" (property id) "saved" (datetime of data) "active" (INT 0 or 1) and "name" (VARCHAR).

Now each property (pid) will have multiple rows a new created and date stamped (saved) for every update made to the property in the database.

So, the tech, I need to select only unique properties (pid's) and get their newest and oldest save times (saved), then output:
Their age (oldest "saved" compared to curtime())
Name of property ("name", but coming from the newest save "saved")

AND... only pids with the active flag = 1, should be outputted and I want the output sorted by newest to oldest.

THEN.. if this really was not enough, can I please have only the details for the 25 newest pids (for page one), then in my next query (26-50 newest) so on and so fourth.

Sorry guys, but I really just can't get my head around where to start, so thought I would present to you what I am overall trying to achieve and see if you can help piece things together.

Thanks, big thanks, in advance,
Aaron.

---------- Post updated at 02:11 PM ---------- Previous update was at 12:19 PM ----------

Here is some sample data:

Code:
+--+------+---------+---------+------------------------------+
| id | pid | name  | active |                  saved                             |
+--+------+---------+---------+------------------------------+
| 1  |   1     |    foo      |    1          | 2010-09-01 13:54:30 |
| 2  |   1     |    foz       |    1          | 2010-09-06 14:51:10 |
| 3  |   1     |    foe      |    1          | 2010-09-13 20:01:14 |
| 4  |   2    |    bar       |    1          | 2010-07-04 10:12:55 |
| 5  |   2     |    bar       |    1          | 2010-09-01 14:31:34 |
| 6  |   3     |    zzz     |    0          | 2010-09-16 11:11:27 |
+---+-----+---------+---------+--------------------------------+

OUTPUT SHOULD BE:

Code:
ID       PID       NAME          DAYS-OLD
3        1          foe               15
5         2         bar              74



---------- Post updated at 02:37 PM ---------- Previous update was at 02:11 PM ----------

This is my latest creation....

Code:
SELECT DISTINCT pid, ****name,**** (SELECT max(saved) WHERE pid = 2.pid) FROM property WHERE active = 1 ORDER BY DESC ****NEWEST OF THE FIRST RECORDS****;



where:
saved is my datestamped field.
name is my records data.
pid is the distinct id.


Problem that I see is this, if I go ORDER BY DESC saved;

then, this will just print them in order of the records "newest" saved datestamp (where I want the name from) but not the records "oldest" saved timestamp.




Code:
SELECT DISTINCT pid, *****name,***** (SELECT max(saved) WHERE pid = 2.pid) FROM property WHERE active = 1 ORDER BY DESC (SELECT min(saved) WHERE pid = 2.pid);


Is this possible...?
and on top of this I still can't see I extract my other data like name...

Last edited by pludi; 09-16-2010 at 08:25 AM..
 

8 More Discussions You Might Find Interesting

1. Programming

Need help with complex SQL query (Sybase)

Hello, I have three tables. I need an SQL query (preferably Sybase) that will return all of the stringID values of table B where the following conditions exist: (1) B.intID = A.intID (2) B.intID != C.intID or (B.intID = C.intID and (C.v1 = 0 or C.v2... (2 Replies)
Discussion started by: chatieremerrill
2 Replies

2. Programming

How to query one to many mysql

Hi there, I have a hierarchical database that include 4 tables. Table A is the parent of B, B is Parent of C, C is parent of D. If I want to query everything in D that is associated with A.name, how do I do that? Thanks! YanYan (0 Replies)
Discussion started by: pinkgladiator
0 Replies

3. Web Development

mysql query help

hello all i have 2 columns every column in the following format column1 2011-04-01 11:39:54 column2 2019-02-03 00:00:00 i want get difference between above data as following 2 days 11:39 how to do so ? i tried many functions but nothing works please advice what is the query... (6 Replies)
Discussion started by: mogabr
6 Replies

4. Shell Programming and Scripting

Complex query

A file whose location i am not aware of contains the below text <url>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(FAILOVER=on)(ADDRESS=(PROTOCOL=TCP) (HOST=ngm2sn1p2-vip.mybank.net)(PORT=4001))(ADDRESS=(PROTOCOL=TCP)(HOST=ngm2sn2p2-vip.mybank.net)... (1 Reply)
Discussion started by: mohtashims
1 Replies

5. Programming

mysql query help

Hello i have created mysql query to compare to values and get difference in percentage as following: SELECT file_name, 100 - ((100 * (SELECT file_count FROM xipi_files z WHERE x.file_group = z.file_group AND x.file_name = z.file_name AND z.insert_date = CURDATE( ) - INTERVAL 1 DAY)) /... (1 Reply)
Discussion started by: mogabr
1 Replies

6. Shell Programming and Scripting

Complex string search query.

Hi, I wish to find the latest occurance of the below string in my log file. Once found, I need to search the below string after the above string and display this Request 331489 has passed or Request 331489 has failed I would like my query to be platform... (11 Replies)
Discussion started by: mohtashims
11 Replies

7. Shell Programming and Scripting

Complex Query regarding folder size

Hi, I provide the path to a folder. I would like so drill in each folder inside the folder i gave and show me the size in human readable form du -sh <folder-name> of the top 8 folders with maximum sizes. For example: Path of the folder: "/opt/app/myapp" has these directories. ls... (2 Replies)
Discussion started by: mohtashims
2 Replies

8. Programming

Need help in mysql query

Hi All, i have a table in mysql with the following data Table name Test Assettype Serial_No Status location Mouse 123456 In Stock chennai Mouse 98765 Allocated chennai Keyboard ... (2 Replies)
Discussion started by: venkitesh
2 Replies
All times are GMT -4. The time now is 02:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy