Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting the floor value of a number in SQLite?

Tags:

sql

sqlite

floor

I have a SQLite database with a table containing the scores of some league players in a bowling center. I'm trying to get the average of the Score column for each player ID. The problem with this is I only need the whole part of the average, and it should not be rounded (example: an average of 168.99 should return 168, not 169).

When trying to find something like this on Google, I only found solutions for SQL Server and some others, but not SQLite, so if anyone can help me with this, I'd really appreciate it!

So far, I'm using ROUND(AVG(s1.Score),2) and I'm truncating the extra part in my Java program that uses the database by converting it to a String, removing the unwanted part and then casting it to an Integer, but I'd rather do it all in SQL if possible.

like image 596
Adam Smith Avatar asked Aug 20 '11 02:08

Adam Smith


People also ask

How do you find a floor in SQL?

SQL Server FLOOR() FunctionThe FLOOR() function returns the largest integer value that is smaller than or equal to a number. Tip: Also look at the CEILING() and ROUND() functions.

What is the difference between integer and numeric in SQLite?

A column that uses INTEGER affinity behaves the same as a column with NUMERIC affinity. The difference between INTEGER and NUMERIC affinity is only evident in a CAST expression: The expression "CAST(4.0 AS INT)" returns an integer 4, whereas "CAST(4.0 AS NUMERIC)" leaves the value as a floating-point 4.0.

How does SQLite store integers?

SQLite Storage Classes INTEGER – any numeric value is stored as a signed integer value (It can hold both positive and negative integer values). The INTEGER values in SQLite are stored in either 1, 2, 3, 4, 6, or 8 bytes of storage depending on the value of the number.


1 Answers

You can just use cast it to an integer. It will truncate it, which is equivalent to floor.

like image 184
Derek Kromm Avatar answered Oct 01 '22 20:10

Derek Kromm