How can we display the last 7 Records from table in Oracle 11G SQL only? [closed] - sql

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 3 years ago.
Improve this question
How can I write this query without TOP and Limit only use the SQL

You just sort the data one way, grab the records you want, then sort it the other way:
SELECT SOME_FIELD
FROM (SELECT st.*
FROM SOME_TABLE st
ORDER BY SOME_FIELD DESC)
WHERE ROWNUM <= 7
ORDER BY SOME_FIELD ASC
dbfiddle here

Related

SQL command to find the repetitive day? [closed]

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 months ago.
Improve this question
on which day most people login?
Use DAYNAME() like that.
SELECT DAYNAME([column_with_date])
FROM [table]
GROUP BY DAYNAME([column_with_date])
order by count(DAYNAME([column_with_date])) desc limit 1;
You can use below code to find max frequency
select date,max(freq)
from (SELECT date,count(date) as freq from TableName
group by date);
this will give the Date and max frequency of that date in column.
or you can use below code
SELECT date,count(date) as freq from TableName
group by date
limit 1;
here i'm assuming date as column name.

Write Oracle SQL queries [closed]

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 10 months ago.
Improve this question
how to rank each country based on number of people in SQL.
Try
SELECT * FROM (
SELECT country, count(people) as count FROM your_table GROUP BY country
) ORDER BY count DESC

To select max date and time [closed]

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 3 years ago.
Improve this question
I have data with column createdate like '24/04/2019 14:52:38',24/04/2019 14:52:37,24/04/2019 14:52:35,24/03/2019 14:52:38 etc.
how to get data based on max date and time in SQL query.
select
top(1) *
from
xx
order by
createdate desc
something like this? (works if createdate column is of date/datetime/timestamp type)
select
*
from
<table_name>
where
createdate = (select
max(createdate)
from
<table_name>)

sql in ms-access [closed]

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 4 years ago.
Improve this question
I have a table name customers with two columns, case id and owner. I need to write a query to select random 5 caseids for every name in owner column.please help
For a start, you need something like:
SELECT TOP 5
ID,
[Case ID],
[Owner],
Rnd(-Timer()*[ID]) AS RandomRecord
FROM
[Cases]
ORDER BY
Rnd(-Timer()*[ID]);
to be used as a subquery filtered on OwnerID of your Owners' table.
I once posted an article on this with a lot more details:
Random Rows in Microsoft Access
You can use in:
select t.*
from t
where t.id in (select top 5 id
from t as t2
where t2.name = t.name
order by Rnd(-Timer()*[ID])
);

Finding duplicate values in a SQL table and group by creation date [closed]

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 7 years ago.
Improve this question
What's the simplest SQL statement that will return the duplicate values for a given column for example ORDERS_NUMBERS and group it by oldest CREATION_DATE in an Oracle database table?
SELECT ORDER_NUMBERS, count(*)
FROM YourTableName
GROUP_BY ORDER_NUMBERS
HAVING count(*) > 1
ORDER BY CREATION_DATE
select ORDERS_NUMBERS,CREATION_DATE,count(*)
from
table
group by ORDERS_NUMBERS,CREATION_DATE
order by CREATION_DATE desc
having count(*) > 1
select
t.orders_numbers,
t.creation_date
from table t
group by t.orders_numbers,
t.creation_date
having (count (*) >1)
;