Question: How I can execute two commands at the same time in SQL Server?

I want to get a row count of a table and some row according to the row count. For example I want to get row count of a table and assuming I want to get last 50 rows on a single page.

How can I do this?

---

**EDIT 1)**:

Consider that I first get count and it return to me 100 and I want to get 80 to 100 recordsin this point another tansaction may delete 70 to 100 records and I can not get appropriate records

Answer: 
An inline count my be evaluated many times or may give different results. A separate CROSS JOIN approach *will* give different results at some point

See for why with repro script: [can I get count() and rows from one sql query in sql server?](https://stackoverflow.com/q/2798094/27535)

```
;WITH aCTE AS
(
    SELECT
       *,
       COUNT(*) OVER () AS TotalRows,
       ROW_NUMBER OVER (ORDER BY SomeLatest DESC) AS rn
    FROM
       MyTable
) foo
SELECT
   *
FROM
   foo
WHERE
   rn <= 50

```
If I understand correctly you want a query that do the count of all record in the table and at the same time get only 50 row. 
You can do that with something like this:

```
Select Top 50 Column1, column2, (Select count(ID) from table1) as total from Table1

```

Personally I would prefer to execute two queries. One for the count and one for the top 50 rows (much more efficient imo)